import request from '@/utils/request'

// 获取数据源列表
export function getDatasourceList(params) {
  return request({
    url: '/datasource',
    method: 'get',
    params
  })
}

// 获取数据源详情
export function getDatasourceDetail(id) {
  return request({
    url: `/datasource/${id}`,
    method: 'get'
  })
}

// 创建数据源
export function createDatasource(data) {
  return request({
    url: '/datasource',
    method: 'post',
    data
  })
}

// 更新数据源
export function updateDatasource(id, data) {
  return request({
    url: `/datasource/${id}`,
    method: 'put',
    data
  })
}

// 删除数据源
export function deleteDatasource(id) {
  return request({
    url: `/datasource/${id}`,
    method: 'delete'
  })
}

// 测试数据源连接
export function testDatasourceConnection(data) {
  return request({
    url: '/datasource/test_connection',
    method: 'post',
    data
  })
}

// 获取数据库表列表
export function getDatabaseTables(id) {
  return request({
    url: `/datasource/${id}/tables`,
    method: 'get'
  })
}

// 获取表字段列表
export function getTableFields(id, table) {
  return request({
    url: `/datasource/${id}/tables/${table}/fields`,
    method: 'get'
  })
}

// 获取数据源选项（用于任务配置）
export function getDatasourceOptions() {
  return request({
    url: '/datasource',
    method: 'get'
  })
}

// 通过ID测试数据源连接
export function testDatasourceById(id) {
  return request({
    url: `/datasource/${id}/test_connection`,
    method: 'post'
  })
}

// 刷新所有数据源状态
export function refreshAllDatasourceStatus() {
  return request({
    url: '/datasource/refresh_status',
    method: 'post'
  })
}